package com.jsh.erp.utils;


import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;

/**
 * @ClassName: Utils
 * @Description: 大华条码秤
 * @Author: 有时有晌
 * @Date: 2021/11/15 18:03
 */
public class Utils {

    public static byte[] byteMerger(byte[] bt1, byte[] bt2){
        byte[] bt3 = new byte[bt1.length + bt2.length];
        System.arraycopy(bt1, 0, bt3, 0, bt1.length);
        System.arraycopy(bt2, 0, bt3, bt1.length, bt2.length);
        return bt3;
    }
    public static String bytes2HexString(byte b) {
        return bytes2HexString(new byte[] { b });
    }
    private static String bytes2HexString(byte[] b) {
        String ret = "";
        for (int i = 0; i < b.length; i++) {
            String hex = Integer.toHexString(b[i] & 0xFF);
            if (hex.length() == 1) {
                hex = '0' + hex;
            }
            ret += hex.toUpperCase();
        }
        return ret;
    }
    public static String StringToAreaByteCode(String str) {
        String result = "";
        for (int i = 0; i < str.length(); i++) {
            result += charToAreaByteCode(str.charAt(i));
        }

        return result;
    }

    private static String charToAreaByteCode(char str) {
        byte[] bs = new byte[0];
        try {
            bs = String.valueOf(str).getBytes("GB2312");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        String s = "";
        String t = "";
        for (int i = 0; i < bs.length; i++) {
            int a = Integer.parseInt(Utils.bytes2HexString(bs[i]), 16);
            t = (a - 0x80 - 0x20) + "";
            if(t.length() == 1){
                t = 0 + t;
            }
            s += t;
        }
        return s;
    }



//    public static String bytes2HexString(byte b) {
//        return bytes2HexString(new byte[]{b});
//    }
//
//    public static String bytes2HexString(byte[] b) {
//        String ret = "";
//        for (int i = 0; i < b.length; i++) {
//            String hex = Integer.toHexString(b[i] & 0xFF);
//            if (hex.length() == 1) {
//                hex = '0' + hex;
//            }
//            ret += hex.toUpperCase();
//        }
//        return ret;
//    }
//
//    public static String StringToAreaByteCode(String str) {
//        String result = "";
//        for (int i = 0; i < str.length(); i++) {
//            result += charToAreaByteCode(str.charAt(i));
//        }
//
//        return result;
//    }
//
//    public static String charToAreaByteCode(char str) {
//        byte[] bs = new byte[0];
//        try {
//            bs = String.valueOf(str).getBytes("GB2312");
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//        }
//        String s = "";
//        String t = "";
//        for (int i = 0; i < bs.length; i++) {
//            int a = Integer.parseInt(bytes2HexString(bs[i]), 16);
//            t = (a - 0x80 - 0x20) + "";
//            if (t.length() == 1) {
//                t = 0 + t;
//            }
//            s += t;
//        }
//
//        return s;
//    }
//
//    public static byte[] hexStringToByteArray(String hexString) {
//        hexString = hexString.replaceAll(" ", "");
//        int len = hexString.length();
//        byte[] bytes = new byte[len / 2];
//        for (int i = 0; i < len; i += 2) {
//            // 两位一组，表示一个字节,把这样表示的16进制字符串，还原成一个字节
//            bytes[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4) + Character
//                    .digit(hexString.charAt(i + 1), 16));
//        }
//        return bytes;
//    }
//
//    public static String stringToHexString(String string) {
//        char[] c = new char[string.length()];
//        c = string.toCharArray();
//        String hesStr = "";
//        for (int i = 0; i < c.length; i++) {
//            hesStr = hesStr + Integer.toHexString(c[i]);
//        }
//        return hesStr;
//    }
//
//    public static String toAreaCode(String word, boolean isChina) {
//        StringBuilder areaCode = new StringBuilder();
//        byte[] bs;
//        try {
//            bs = word.getBytes("GB2312");
//            for (byte b : bs) {
//                int code = Integer.parseInt(Integer.toHexString(b & 0xFF), 16);
//                if (isChina) {
//                    int temp = code - 0x80 - 0x20;
//                    if (temp < 10) {
//                        areaCode.append("0").append(temp);
//                    } else {
//                        areaCode.append(temp);
//                    }
//                } else {
//                    int temp = code - 32;
//                    if (temp < 10) {
//                        areaCode.append("030").append(temp);
//                    } else {
//                        areaCode.append("03").append(temp);
//                    }
//                }
//            }
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//            Log.e("liluo", "区位码转码异常,可能导致乱码或者空白字符");
//        }
//        return areaCode.toString();
//    }
//
//    /**
//     * 根据Unicode编码判断中文汉字和符号
//     */
//    public static boolean isChinese(char c) {
//        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
//        return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
//                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
//                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
//                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION;
//    }
//
//    /**
//     * 获取完整的区位码
//     *
//     * @param name 原始字符串
//     * @return 区位码
//     */
//    public static String getTotalAreaCode(String name) {
//        StringBuilder stringBuilder = new StringBuilder();
//        char[] nameChar = name.toCharArray();
//        for (char c : nameChar) {
//            if (isChinese(c))
//                stringBuilder.append(toAreaCode(String.valueOf(c), true));
//            else
//                stringBuilder.append(toAreaCode(String.valueOf(c), false));
//        }
//        String code = stringBuilder.toString();
//        if (code.contains("-")) {
//            Log.e("liluo", name + "的区位码存在非法字符：" + code);
//            return "";
//        } else {
//            Log.d("liluo", name + "的区位码：" + code);
//            return code;
//        }
//    }
//
//    public static String str2HexStr(String str) {
//        char[] chars = "0123456789ABCDEF".toCharArray();
//        StringBuilder stringBuilder = new StringBuilder("");
//        byte[] bs = str.getBytes();
//        int bit;
//        for (int i = 0; i < bs.length; i++) {
//            bit = (bs[i] & 0x0f0) >> 4;
//            stringBuilder.append(chars[bit]);
//            bit = bs[i] & 0x0f;
//            stringBuilder.append(chars[bit]);
//            stringBuilder.append(' ');
//        }
//        return stringBuilder.toString().trim();
//    }

    public static void main(String[] args) {
        String a="1,143.00";
        BigDecimal bigDecimal = new BigDecimal(a.replace(",",""));
        System.out.println(bigDecimal);
    }
}

